1. Field of the Invention
This invention relates to a remotely reconfigurable user terminal in the form of a telephone-computer specifically designed for use in connection with a distributed data processing system. More particularly, this invention relates to a user terminal intended for use at the home of a bank customer to allow the customer access to the bank's database and operating software, as well as to access other remote data bases and the like. The present invention relates generally to methods for communication between a home microcomputer system and one or more computer networks providing information and financial services. The invention relates more particularly to methods for conducting communications between a home computer system and a generally conventional computer network in an extremely simple manner, such that no knowledge of computer operations is necessary for the user of a home computer system to obtain information or perform financial transactions through the computer network.
2. Related Art
Various firms, including AT&T and Sears, Roebuck & Co., have provided home banking services employing home terminals which communicate with bank service computers. These have either involved "dumb terminals", i.e., terminal devices having no intelligence, or conventional PC's. Nether system is fully user-friendly, as desired according to the invention, since both require some computer literacy on the part of the user.
It will also be appreciated that in recent years banking customers have increasingly become accustomed to using automatic teller machine devices (ATMs). These have been relatively successful because they provide simple and clear "menu" of choices to the consumer at each step of each transaction, such that the customer is very readily led through the sequence of inputs required by the system to respond to the customer's request. It would be desirable if such functions could also be carried out by the consumer in the privacy of his own home, thus rendering the service more convenient and thus more likely to be commonly used. The present telephone-computer was developed exactly for the purpose of providing a readily available user-friendly microcomputer with the familiar appearance of a standard table telephone.
Such automatic teller machines typically operate using software prepared by individual programmers using personal computers. Typically, these personal computers are those manufactured by the IBM Corporation (the "IBM PC") or so-called "clones" thereof. As such, these computers run various software programs which conform to IBM's standards for such personal computers. While such a requirement places various substantial constraints on the computer user, particularly concerning memory access and the like, at this time the IBM "PC" is so thoroughly entrenched throughout industry that it is most unlikely that any change can be made. More particularly, any home terminal or computer intended to be employed with a banking system now operating must emulate the IBM PC "architecture"; further details of this requirement are given below.
To date, substantially all PC's have been configured to comprise a keyboard of between 60 and 101 keys, a display device, and a housing containing the circuit boards of the computer including various interfaces to other devices such as modems for communication, printers and the like. Such PC's, while increasingly popular, still intimidate many potential users. Accordingly, it is an object of the present invention to provide a computer which conforms to the functionality of the PC--that is for example, which runs software developed for banking applications so that it can interface with banking computers, exactly as if it were in fact a conventional PC--while providing a user-friendly, simplified and nonthreatening appearance. In particular, it is desired to place a computer having PC functionality within a package physically resembling an essentially conventional telephone.
It will be apparent to those of skill in the art that the provision of "PC functionality", that is, the ability to run conventional PC software programs without modification to the software, places very substantial constraints on the design of a computer which is to fit within a housing conforming in size and shape to that of conventional telephone. For example, substantially all PC programs are designed to be stored on "floppy disks", or are initially supplied on floppy disks and later copied to a "hard disk". Both of these memory devices require more space than is available in the housing of a conventional telephone. Similarly, the circuit boards used conventionally in PCs are much too large to fit within a conventional telephone, as are the keyboards which are conventionally used. Accordingly, it is not possible to simply shoehorn the normal PC components into a housing resembling a conventional telephone. Moreover, it is desirable in any event to eliminate the use of removable floppy disks and the like from the device provided according to the invention, to simplify its operation and to render it even more user-friendly, and thus accessible to a wider class of possible users.
It is thus essential to achieving the objects of the invention that a computer be provided which can simulate the operation of a system comprising floppy and or hard disk memory devices, as well as other input-output (I/O) devices such as printers and the like, while fitting within the confines of a housing of familiar and nonthreatening appearance, preferably conforming in size and appearance to that of a conventional telephone. Similarly, it is desired that all conventional telephone functions be supported by the user terminal of the invention.
It will also be appreciated that if a home terminal is to provide access to a banking computer to perform financial transactions, a very high degree of security must be built into the system, such that the user cannot corrupt his own or other accounts, cannot withdraw assets from other accounts, and most importantly cannot cause a system error of a type which would cause the entire bank computer system to cease operations, however briefly. To do so means that the home terminal must interact with the network in a sophisticated way. It is also highly desirable that the interaction of terminal and host be amenable to convenient alteration at a later time if it should become necessary.
For example, there have recently been widely publicized instances of "software viruses" which permeate computer networks. The chaos caused in a banking system susceptible to such a virus can hardly be imagined. It is therefore highly significant that the computerized telephone provided to the user by the present invention be updatable with respect to any hardware and software changes which may be required to eliminate the possibility of such bugs or viruses when later developed, and also to be capable of implementing new forms of security such as, for example, data encryption. The prior art teaches no system which provides anything remotely resembling this set of features in a terminal intended for user home use for accessing a banking system.
Megatel Computer (1986) Corporation, of Weston, Ontario, Canada, with which at least one of the inventors named herein is affiliated, has been selling for more than a year prior to the filing date of this application a single board computer which is capable of emulating an IBM Personal Computer and thereby of running conventional software programs intended for use with conventional IBM PCs. This Megatel computer has on its single circuit board a microprocessor, typically a Nippon Electric Corporation (NEC) model V25 or V40, a programmable gate array chip sold by Xilinx Corporation under Model No. XC2018 or the equivalent, both random access memory (RAM) and read-only memory (ROM) and various input-output devices as well as associated connectors and the like. Briefly stated, the use of the programmable gate array to connect the microprocessor to the memory and to the input-output devices has provided this computer with unparalleled flexibility in emulation of the basic functions of an IBM PC, such that it is capable of running substantially all conventional software programs for the IBM PC. This is true even though in many applications the Megatel computer is not connected to external magnetic storage media, printers and the like, and even though the software normally would only run on computers thus configured. To fully understand the significance of this fact, a brief discussion of the IBM PC marketplace is in order.
As a rule, conventional software programs are stated to be "PC-compatible" when they are intended to be run on the IBM Personal Computer (PC). However, not all "PC-compatible" programs will run on all PC's. That is, for example, one program may require a so-called "hard disk" having 40 megabytes storage capacity. Another may require one megabyte of RAM. A third may require an optical disk; a fourth a VGA adapter card, and a fifth, two floppy disks. Thus, "PC-compatibility" only implies with respect to a particular software program that a PC be configured with appropriate optional internal devices and peripherals on which the software will then run; it does not mean that all "PC-compatible" software will run on the same PC.
The basic hardware components of the PC itself, as distinguished from its peripherals, include a microprocessor, a certain amount of read-only and random-access memory ("RAM" and "ROM" respectively), and circuit elements providing logical connection between these various basic components as well as to the keyboard and the display, and to any peripherals such as modems, printers, external memory and the like. The peripherals are normally connected directly to various dedicated "driver" and "interface" chips, which are in turn connected by logic circuit elements to the microprocessor, RAM and ROM. Thus, all PC's require some sort of hardware, i.e., discrete circuit elements, to provide appropriate logical connections to functionally "glue" the microprocessor, RAM, ROM, and the various dedicated input/output devices and peripheral drivers together.
Certain software, referred to as the "BIOS", for Basic Input/Output System, is also essential to provide the "PC architecture". The BIOS provides the interface between the usual PC-compatible software programs (which are also referred to the art as "DOS-compatible", which means that they are designed to work with IBM's Disk Operating System, or DOS; DOS is thus only useful if the BIOS and BIOS-compatible hardware are already in place) and the actual hardware elements. The hardware elements, plus the BIOS, thus form the basic `PC architecture`.
In the IBM PC itself, a custom designed "gate array" chip is normally used to provide the logical connection between the microprocessor, the RAM and ROM, and the various dedicated input/output and peripheral driver elements. Various others have provided these functions using so-called programmable logic array (PLA) chips. Such PLA chips comprise a number of predefined but not preconnected logic gates on a chip. Connections are established by fusing fusible links disposed on the chip. Having thus been programmed, the PLA circuitry cannot be further altered.
The BIOS used by Megatel in this computer is also commercially available. The "glue" required to functionally connect the microprocessor, the memory, and the input-output chips is provided by configuring the PGA chip by supply of a series of signals, referred to by Xilinx as "configuration programs" and sometimes herein as "configuration code" or "configuration software". Essentially, this configuration code defines the logical connection of various basic logic elements on the PGA chip.
A significant advantage is provided by use of his chip, in that by supply of new configuration code, changes can be made to the hardware connecting the microprocessor to the memory and the input-output chips on the circuit board. Thus, for example, if a particular hardware change needs to be made to accommodate a particular software program, this can be done readily by simply supplying reconfiguration code appropriately to the PGA chip and reconfiguring it before the software is to be run. Similarly, use of the PGA chip in many cases will allow reconfiguration of the hardware to support new peripherals--e.g., an enhanced-resolution display, an optical disk storage device, so-called "smart" or debit-card readers, or the like, which in other systems would normally require the physical addition of a new circuit board or the like.
Use of the PGA chip has extremely powerful and extensive implications. For example, a piece of software running on a IBM PC operates properly when it "receives" an appropriate sequence of signals from the microprocessor in response to the signals it "generates". For example, a microprocessor may be directed by software to send a certain data item to a floppy disk for storage. The floppy disk controller responds to such a request with a predetermined acknowledgement signal; when this signal is received by the software, it then performs a subsequent function. Accordingly, if the PGA chip is configured to respond to a particular signal provided by the software with the proper acknowledgement signal, the software can be "fooled" into thinking the PC is configured with certain peripherals when in fact none is provided. Thus, to provide "software-compatibility" the PGA chip need simply be configured to respond to a known sequence of signals with a corresponding sequence of response signals, thus fooling the software into thinking it is running on a properly configured PC.
The Xilinx "Programmable Gate Array Data Book" (1988) discusses at pages 6-38-6-40 use of this technology for "Self-Diagnosing Hardware", suggesting that the device ". . . can perform diagnostic functions at power-up, or in test modes, and perform normal functions where the board is determined to be operational." It is specifically suggested that this will be particularly useful for testing peripheral control logic using loopback techniques, I/O and memory error detection circuitry, and interrupt techniques.
As mentioned above, Megatel has been using the programmable gate array technology to emulate a PC. However, to the best of the inventors' knowledge, there has to date been no application of this PGA technology to the specific problem of providing a home user terminal for accessing a bank system as well as other computer systems, all as discussed above. Nor (again, to the best of the inventors' knowledge) has there been any use of this PGA technology to physically emulate a telephone while providing various functions of a typical personal computer. Moreover (again to the best of the inventors' knowledge), there has been no implementation of a home computer in which some portion of the hardware is defined by configuration code supplied to a programmable gate array, much less one which can be remotely reconfigured, e.g. so as to cure a "hardware virus", to provide an updated user function, to provide an improved security function such as data encryption, or otherwise to reconfigure the logic of a terminal once installed in the user's home.
Use of microprocessors for telecommunications applications is known in the art, as shown by Subhash Bal, "New Generation Microprocessor for Telecommunication Applications." Proceedings 1980--International Conference on Communications, Seattle, Wash., (Jun. 8-12, 1980) pages 11.5.1-11.5.4. Additionally, microprocessors have been used as control apparatus for a number of communication system administration functions and in switching systems as shown in U.S. Pat. No. 4,580,011 to Robert E. Glazer, issued Apr. 1, 1986 and U.S. Pat. No. 4,629,832 to Robert A. Carson et al, issued Dec. 6, 1986. It is known that, to increase system integrity, the administration functions in a telephone network can be controlled by a microprocessor to facilitate the interaction of a private branch exchange or similar telephone network with a telephone central office. It is also known that telephone protection functions can be performed through a microprocessor. Operation of computers with simple interfaces and the connection of several computers to a host computer in a network through modems is also known in the prior art. However, the prior art does not teach the use of a microprocessor controlled primarily through a 12-key keypad of a normal telephone device where the keypad also operates a stand-alone telephone unit and additionally provides user interface to the microprocessor.